Create Project: springboot_json_serializer (add Spring Boot Starters from the table)
Create Package: DTO (inside main package)
– Create Class: PersonDTOSerializer.java (inside package DTO)
– Create Class: PersonDTO.java (inside package DTO)
Create Package: controllers (inside main package)
– Create Class: MyController.java (inside package controllers)
PersonDTOSerializer.java
package com.ivoronline.springboot_json_serializer.DTO;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import java.io.IOException;
public class PersonDTOSerializer extends JsonSerializer<PersonDTO> {
@Override
public void serialize(PersonDTO personDTO, JsonGenerator jsonGenerator, SerializerProvider provider)
throws IOException {
jsonGenerator.writeStartObject();
jsonGenerator.writeStringField("First Name", personDTO.name);
jsonGenerator.writeNumberField("Age" , personDTO.age);
jsonGenerator.writeEndObject();
}
}
PersonDTO.java
package com.ivoronline.springboot_json_serializer.DTO;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
@JsonSerialize(using = PersonDTOSerializer.class)
public class PersonDTO {
public String name;
public Integer age;
}